package com.freemalll.merchant.domain.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import org.springframework.validation.annotation.Validated;

import java.time.LocalDateTime;
import java.util.List;

/**
 * @author songshixiong
 * @ClassName SubmitPreliminaryReviewVo
 * @description:
 * @date 2025年05月14日
 * @version: 1.0
 */
@Data
@Validated
public class SubmitPreliminaryReviewDto {

    @Schema(description = "商户id 编辑的时候带一下")
    private String merId;

    @Schema(description = "入驻时间")
    @NotNull(message = "入驻时间不能为空")
    private LocalDateTime createDate;

    @Schema(description = "提交类型 SAVE:保存 SUBMIT_AUDIT:提交初审")
    @NotBlank(message = "提交类型不能为空")
    private String submitType;

    @Schema(description = "步骤")
    @NotEmpty(message = "步骤不能为空")
    private List<RegisterStepDto> registerStepList;

    @Schema(description = "场景信息")
    @NotNull(message = "场景信息不能为空")
    @Valid
    private SceneInfoVoDto sceneInfoDto;

    @Schema(description = "初审信息")
    @NotNull(message = "初审信息不能为空")
    @Valid
    private InitialReviewInfoDto initialReviewInfoDto;

    @Schema(description = "营业执照")
    @NotNull(message = "营业执照不能为空")
    @Valid
    private BusinessLicenseDto businessLicenseDto;

    @Schema(description = "法人信息")
    @NotNull(message = "法人信息不能为空")
    @Valid
    private CorporateInfoDto corporateInfoDto;


}
